Docker compose

Descripcion

Docker compose nos permite levantar varios containers y hacer que esten conectados entre si

Metodo

Para levantar varios containers usando docker compose primero necesitamos crear un archivo docker-compose.yml.

Un ejemplo de docker-compose.yml es el siguiente:

version: '3'

services:

  skill-matrix-mysql:
    image: mysql:5
    restart: on-failure
    volumes:
      - ./skill-matrix-db:/var/lib/mysql
      - ./skill-matrix-init-db:/docker-entrypoint-initdb.d
    environment:
      - MYSQL_ROOT_PASSWORD=admin
      - MYSQL_DATABASE=skill_matrix
      - MYSQL_USER=UserSkillmatrix
      - MYSQL_PASSWORD=team2passwordforskillmatrix.
    ports:
      - 3306:3306

  skill-matrix-api:
    image: team2postacademy/api_skill_matrix
    restart: on-failure
    depends_on:
      - skill-matrix-mysql
    ports:
      - 8080:8080
    environment:
      - DATABASE_HOST=skill-matrix-mysql
      - DATABASE_USER=UserSkillmatrix
      - DATABASE_PASSWORD=team2passwordforskillmatrix.
      - DATABASE_NAME=skill_matrix
      - DATABASE_PORT=3306

En este compose, estamos definiendo dos contenedores uno con un servidor mysql y otro que contiene una aplicacion spring que se conecta a la base de datos mysql

Para levantar los contenedores tenemos que ejecutar el siguiente comando en la carpeta donde tengamos el docker-compose.yml:

docker-compose up

Si queremos detener los contenedores ejecutamos el siguiente comando:

docker-compose down

Si solo queremos detenerlos momentaneamente usamos

docker-compose stop

Y para volver a arrancarlos:

docker-compose start
Parametros

Algunos de los parametros que podemos usar en el docker-compose.yml son los siguientes:

Tags

Docker compose | comandos